package main

import "fmt"

func main(){
	// value type
	var i int
	var j float64
	var b bool
	var c complex64
	var s string
	fmt.Println(i,j,b,c,s)
	var intArray [5]int
	var strArray [5]string
	fmt.Println(intArray,strArray)
	var pack struct{}
	fmt.Println(pack)
	// reference type
	var p1 *int
	var p2 *string
	fmt.Println(p1,p1 == nil,p2,p2 == nil)
	var m1 map[int]string
	var m2 map[string]int
	fmt.Println(m1,m1 == nil,m2,m2 == nil)
	var slice1 []int
	var slice2 []string
	fmt.Println(slice1,slice1 == nil,slice2,slice2 == nil)
	var f func()
	var g interface{}
	fmt.Println(f,f == nil,g,g == nil)
}